home *** CD-ROM | disk | FTP | other *** search
/ PC for Alla 2005 May / PC för Alla 0505.iso / fullversioner / realsoft3d / data1.cab / Scripting / scripts / js / real / objects / r3skel.js < prev    next >
Encoding:
JavaScript  |  2005-04-04  |  36.3 KB  |  1,180 lines

  1.  
  2. // JavaScript wrapper for r3skel.h
  3. // Auto generated file, do not modify by hand
  4. // Copyright ⌐ 2004, Realsoft Graphics Oy
  5.  
  6. var R3_SKELETON_H = 1;
  7. include("real/objects/r3constructor.js")
  8. include("oops/r3vector.js")
  9.  
  10.  
  11. var R3CLID_SKELETON = 133;
  12.  
  13.  
  14.  
  15.  
  16. // Description: Get joint by index
  17. // Returns: Boolean, true if succeeded
  18. // p3: Integer, index    
  19.  
  20. R3SKM_GETJOINT = 133000;
  21.  
  22. function mR3SKM_GETJOINT(p3) {
  23.   return   DoA(this.r3obj, 133000, p3, R3TID_INTEGER, 0);
  24. }
  25.  
  26. // Description: Set joint
  27. // Returns: Boolean
  28. // p3: Tag[], R3SKA_JNumber, R3SKA_JValue    
  29.  
  30. R3SKM_SETJOINT = 133001;
  31.  
  32. function mR3SKM_SETJOINT(p3) {
  33.   return   Do(this.r3obj, 133001, p3, R3TID_TAG, R3TNF_ARRAY);
  34. }
  35.  
  36. // Description: Given point in abs space, find nearest joint.
  37.  
  38. R3SKM_FINDNEARESTJOINT = 133002;
  39.  
  40. function mR3SKM_FINDNEARESTJOINT() {
  41.   DoA(this.r3obj, 133002, 0, R3TID_INTEGER, 0);
  42. }
  43.  
  44. // Description: Given joint index, return bone space.
  45. // p1: Integer, space (R3SPACE_ABSOLUTE, R3SPACE_OBJECT)
  46. // p2: Integer, bone index (joint index)
  47.  
  48. R3SKM_GETBONESPACE = 133003;
  49.  
  50. function mR3SKM_GETBONESPACE(p1, p2) {
  51.   DoA3(this.r3obj, 133003, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  52. }
  53.  
  54. // Description: Given polar coord and bone space, evaluate direction vector. Returns norm. vector.
  55. // p1: r3Vect, polar coord.
  56. // p2: r3Coordsys, bone space
  57. // p3: r3Vect, result    
  58.  
  59. R3SKM_EVALJOINTSPACE = 133004;
  60.  
  61. function mR3SKM_EVALJOINTSPACE(p1, p2, p3) {
  62.   DoA3(this.r3obj, 133004, p1, R3TID_VECTOR, 0, p2, R3TID_COORDSYS, 0, p3, R3TID_VECTOR, 0);
  63. }
  64.  
  65. // Description: Attach skeleton to nearest joint of the parent skeleton.
  66. // Returns: Boolean, TRUE if parent was found
  67.  
  68. R3SKM_ATTACHTOPARENT = 133005;
  69.  
  70. function mR3SKM_ATTACHTOPARENT() {
  71.   return   DoA(this.r3obj, 133005, 0, R3TID_INTEGER, 0);
  72. }
  73.  
  74. // Description: Fix the position of the selected joints
  75. // p3: Integer, see anchor codes    
  76.  
  77. R3SKM_ANCHORJOINT = 133006;
  78.  
  79. function mR3SKM_ANCHORJOINT(p3) {
  80.   DoA(this.r3obj, 133006, p3, R3TID_INTEGER, 0);
  81. }
  82.  
  83. // Description: make the selected joints rigid (set the R3SKELF_RIGID flag)
  84. // p3: Boolean, true/false    
  85.  
  86. R3SKM_RIGIDJOINT = 133007;
  87.  
  88. function mR3SKM_RIGIDJOINT(p3) {
  89.   DoA(this.r3obj, 133007, p3, R3TID_BOOLEAN, 0);
  90. }
  91.  
  92. // Description: Clear anchor and rigid flags from selected joints
  93.  
  94. R3SKM_RESETJOINT = 133008;
  95.  
  96. function mR3SKM_RESETJOINT() {
  97.   DoA(this.r3obj, 133008, 0, R3TID_INTEGER, 0);
  98. }
  99.  
  100. // Description: Enable/disable IK keyframing/angle keyframing for the selected joints.
  101. // p3: Boolean, enable/disable    
  102.  
  103. R3SKM_ANIMJOINTASANGLE = 133010;
  104.  
  105. function mR3SKM_ANIMJOINTASANGLE(p3) {
  106.   DoA(this.r3obj, 133010, p3, R3TID_BOOLEAN, 0);
  107. }
  108.  
  109. // Description: Get state of given joint flag.
  110. // p1: Integer, flag
  111. // p2: Boolean[], conflict
  112. // p3: Boolean[], state
  113.  
  114. R3SKM_GETJOINTFLAG = 133011;
  115.  
  116. function mR3SKM_GETJOINTFLAG(p1, p2, p3) {
  117.   DoA3(this.r3obj, 133011, p1, R3TID_INTEGER, 0, p2, R3TID_BOOLEAN, R3TNF_ARRAY, p3, R3TID_BOOLEAN, R3TNF_ARRAY);
  118. }
  119.  
  120. // Description: check if there are selected joints in the skeleton hierarchy.
  121. // Returns: Boolean, TRUE if points selected.
  122.  
  123. R3SKM_ISJOINTSSELECTED = 133012;
  124.  
  125. function mR3SKM_ISJOINTSSELECTED() {
  126.   return   DoA(this.r3obj, 133012, 0, R3TID_INTEGER, 0);
  127. }
  128.  
  129. // Description: Set/Reset (recursively) given joint flag.
  130. // p1: Integer, flag to be set,
  131. // p3: Boolean, value    
  132.  
  133. R3SKM_SETJOINTFLAG = 133013;
  134.  
  135. function mR3SKM_SETJOINTFLAG(p1, p3) {
  136.   DoA2(this.r3obj, 133013, p1, R3TID_INTEGER, 0, p3, R3TID_BOOLEAN, 0);
  137. }
  138.  
  139. // Description: Set joint attribute
  140. // p3: Tag[], tag list consisting of dynamic tags
  141.  
  142. R3SKM_SETSELECTEDJOINTATTR = 133014;
  143.  
  144. function mR3SKM_SETSELECTEDJOINTATTR(p3) {
  145.   Do(this.r3obj, 133014, p3, R3TID_TAG, R3TNF_ARRAY);
  146. }
  147.  
  148. // Description: Update relative position in parent bone space.
  149.  
  150. R3SKM_UPDATEPARENTDISPLACEME = 133015;
  151.  
  152. function mR3SKM_UPDATEPARENTDISPLACEME() {
  153.   DoA(this.r3obj, 133015, 0, R3TID_INTEGER, 0);
  154. }
  155.  
  156. // Description: Reset constraints to their minimum values (current bone angles)
  157. // p3: Integer, joint index    
  158.  
  159. R3SKM_RESETCONSTRAINTS = 133016;
  160.  
  161. function mR3SKM_RESETCONSTRAINTS(p3) {
  162.   DoA(this.r3obj, 133016, p3, R3TID_INTEGER, 0);
  163. }
  164.  
  165. // Description: Set joint flag
  166. // p3: Boolean, value    
  167.  
  168. R3SKM_SETJOINTFLAGBYINDEX = 133017;
  169.  
  170. function mR3SKM_SETJOINTFLAGBYINDEX(p3) {
  171.   DoA(this.r3obj, 133017, p3, R3TID_BOOLEAN, 0);
  172. }
  173.  
  174. // Description: Register extension tagsname array. This is only needed in case dynamic tags needs to
  175. //      be accessed through through R3TAGNAME interface (i.e. to make dynamic tags animateable).
  176. // Returns: Boolean, true if succeeded.
  177.  
  178. R3SKCM_REGISTERTAGNAMES = 133018;
  179.  
  180. function mR3SKCM_REGISTERTAGNAMES() {
  181.   return   DoA(this.r3obj, 133018, 0, R3TID_INTEGER, 0);
  182. }
  183.  
  184. // Description: Register tag names for indexed dynamic tags.
  185. // Returns: Boolean, true if succeeded.
  186.  
  187. R3SKCM_REGISTERINDEXEDTAGNAM = 133019;
  188.  
  189. function mR3SKCM_REGISTERINDEXEDTAGNAM() {
  190.   return   DoA(this.r3obj, 133019, 0, R3TID_INTEGER, 0);
  191. }
  192.  
  193. // Description: Checks if one of the joint handles associated with 'give joint is selected.
  194. // Returns: Boolean, true if selected
  195. // p3: Integer, index of the joint.    
  196.  
  197. R3SKM_ISSELECTED = 133020;
  198.  
  199. function mR3SKM_ISSELECTED(p3) {
  200.   return   DoA(this.r3obj, 133020, p3, R3TID_INTEGER, 0);
  201. }
  202.  
  203. // Description: Translate SKA_MapRadius by given value
  204. // p3: Number, delta    
  205.  
  206. R3SKM_TRANSLATEMAPRAD = 133021;
  207.  
  208. function mR3SKM_TRANSLATEMAPRAD(p3) {
  209.   DoA(this.r3obj, 133021, p3, R3TID_FLOAT, 0);
  210. }
  211.  
  212. // Description: Duplicate and mirror child objects to create symmetric body. Allows the user to create
  213. //      left tentacles and get complete body by duplicating & mirroring them.
  214. // Returns: Boolean, number of tentacles mirrored
  215. // p3: Integer, R3SKA_AngleA or R3SKA_AngleB. The default is R3SKA_AngleB (pitching)    
  216.  
  217. R3SKM_DUPMIRCHILDS = 133022;
  218.  
  219. function mR3SKM_DUPMIRCHILDS(p3) {
  220.   return   DoA(this.r3obj, 133022, p3, R3TID_INTEGER, 0);
  221. }
  222.  
  223. // Description: Edit bone angles of the selected joints
  224. // p1: Boolean, disable constraints
  225. // p3: r3Vect, delta    
  226.  
  227. R3SKM_TRANSLATESELECTEDANGLE = 133023;
  228.  
  229. function mR3SKM_TRANSLATESELECTEDANGLE(p1, p3) {
  230.   DoA2(this.r3obj, 133023, p1, R3TID_BOOLEAN, 0, p3, R3TID_VECTOR, 0);
  231. }
  232.  
  233. // Description: Attach skeleton to all target objects. Points are mapped based on    * mapping volume /
  234. //      inside test. Each point may get mapped to more than one skeleton / bone.
  235. // Returns: Boolean, true if succeeded.
  236. // p3: Object, target object to be attached.    
  237.  
  238. R3SKM_BINDSKELETONBYVOLUME = 133024;
  239.  
  240. function mR3SKM_BINDSKELETONBYVOLUME(p3) {
  241.   return   DoA(this.r3obj, 133024, p3, R3TID_OBJECT, 0);
  242. }
  243.  
  244. // Description: Attach skeleton to all target objects. Each point is attached to one    * bone only,
  245. //      based on shortest distance.
  246. // Returns: Boolean, true if succeeded.
  247. // p3: Object, target object to be attached.    
  248.  
  249. R3SKM_BINDSKELETONNEAREST = 133026;
  250.  
  251. function mR3SKM_BINDSKELETONNEAREST(p3) {
  252.   return   DoA(this.r3obj, 133026, p3, R3TID_OBJECT, 0);
  253. }
  254.  
  255. // Description: Attach given point to the nearest bone of the skeleton.
  256. // Returns: Boolean, true if succeeded
  257. // p1: Object, target object
  258. // p2: Integer, point index
  259. // p3: r3Vect, target's point (in abs space) to be mapped.    
  260.  
  261. R3SKM_BINDPOINTTONEARESTSKEL = 133027;
  262.  
  263. function mR3SKM_BINDPOINTTONEARESTSKEL(p1, p2, p3) {
  264.   return   DoA3(this.r3obj, 133027, p1, R3TID_OBJECT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_VECTOR, 0);
  265. }
  266.  
  267. // Description: Change the angles of the given joint.
  268. // p1: Boolean, if true, disable constraints (constraints are expanded, if needed)
  269. // p2: Integer, index of the bone
  270. // p3: r3Vect, delta    
  271.  
  272. R3SKM_TRANSLATEANGLES = 133029;
  273.  
  274. function mR3SKM_TRANSLATEANGLES(p1, p2, p3) {
  275.   DoA3(this.r3obj, 133029, p1, R3TID_BOOLEAN, 0, p2, R3TID_INTEGER, 0, p3, R3TID_VECTOR, 0);
  276. }
  277.  
  278. // Description: Given a point, find nearest skeleton and bone index in a hierarchical skeleton.
  279. // Returns: Object, nearest skeleton
  280. // p1: Number, minimum distance, initialize this to max value prior calling.
  281. // p2: Number, parameter specifying the nearest bone
  282. // p3: r3Vect, point to be mapped    
  283.  
  284. R3SKM_FINDNEARESTBONE = 133030;
  285.  
  286. function mR3SKM_FINDNEARESTBONE(p1, p2, p3) {
  287.   return R3ToJS(  DoA3(this.r3obj, 133030, p1, R3TID_FLOAT, 0, p2, R3TID_FLOAT, 0, p3, R3TID_VECTOR, 0));
  288. }
  289.  
  290. // Description: Attach given target point to bone.
  291. // p3: Tag[], R3SKA_JointParam, R3SKA_TargetIndex, R3SKA_TargetObject, R3SKA_MapId    
  292.  
  293. R3SKM_BINDPOINTTOJOINT = 133031;
  294.  
  295. function mR3SKM_BINDPOINTTOJOINT(p3) {
  296.   Do(this.r3obj, 133031, p3, R3TID_TAG, R3TNF_ARRAY);
  297. }
  298.  
  299.  
  300. R3SKM_RECONSTRUCTBYROOT = 133032;
  301.  
  302. function mR3SKM_RECONSTRUCTBYROOT() {
  303.   DoA(this.r3obj, 133032, 0, R3TID_INTEGER, 0);
  304. }
  305.  
  306. // Description: Given bone index, returns the coord system of the previous bone.
  307. // p1: Integer, space in which the cs is returned (R3SPACE_ABSOLUTE, R3SPACE_OBJECT)
  308. // p2: Integer, index of the bone
  309. // p3: r3Coordsys, result buffer    
  310.  
  311. R3SKM_GETPREVBONESPACE = 133033;
  312.  
  313. function mR3SKM_GETPREVBONESPACE(p1, p2, p3) {
  314.   DoA3(this.r3obj, 133033, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_COORDSYS, 0);
  315. }
  316.  
  317. // Description: Rotate selected bones.
  318. // p1: r3Vect, rotation axis
  319. // p3: Number, angle    
  320.  
  321. R3SKM_ROTATESELECTEDBONES = 133034;
  322.  
  323. function mR3SKM_ROTATESELECTEDBONES(p1, p3) {
  324.   DoA2(this.r3obj, 133034, p1, R3TID_VECTOR, 0, p3, R3TID_FLOAT, 0);
  325. }
  326.  
  327. // Description: Update angles when one of the joint positions has changed.
  328. // p3: Boolean, if true, propagates to children.    
  329.  
  330. R3SKM_UPDATEANGLES = 133035;
  331.  
  332. function mR3SKM_UPDATEANGLES(p3) {
  333.   DoA(this.r3obj, 133035, p3, R3TID_BOOLEAN, 0);
  334. }
  335.  
  336. // Description: Update joint positions when one or more bone angles has changed.
  337. // p1: Boolean, if true, constraints are expanded, if needed.
  338. // p3: Boolean, if true, bone lengths are updated.    
  339.  
  340. R3SKM_UPDATEPOSITIONS = 133036;
  341.  
  342. function mR3SKM_UPDATEPOSITIONS(p1, p3) {
  343.   DoA2(this.r3obj, 133036, p1, R3TID_BOOLEAN, 0, p3, R3TID_BOOLEAN, 0);
  344. }
  345.  
  346. // Description: Attach selected points to selected bone.
  347. // Returns: Boolean, true if succeeded
  348. // p3: Object, object to be attached    
  349.  
  350. R3SKM_BINDSELECTED = 133037;
  351.  
  352. function mR3SKM_BINDSELECTED(p3) {
  353.   return   DoA(this.r3obj, 133037, p3, R3TID_OBJECT, 0);
  354. }
  355.  
  356. // Description: Detach given point from the given joint. R3SKA_MapId is needed    * if multi mapping is
  357. //      used to identify the map set.    *
  358. // p3: Tag[], R3SKA_TargetIndex, R3SKA_TargetObject, R3SKA_MapId    
  359.  
  360. R3SKM_UNBINDPOINTFROMJOINT = 133038;
  361.  
  362. function mR3SKM_UNBINDPOINTFROMJOINT(p3) {
  363.   Do(this.r3obj, 133038, p3, R3TID_TAG, R3TNF_ARRAY);
  364. }
  365.  
  366. // Description: Detach selected points from the selected bone.
  367. // p3: Object, target object to be detached.    
  368.  
  369. R3SKM_UNBINDSELECTED = 133039;
  370.  
  371. function mR3SKM_UNBINDSELECTED(p3) {
  372.   DoA(this.r3obj, 133039, p3, R3TID_OBJECT, 0);
  373. }
  374.  
  375. // Description: Detach given point from the skeleton.
  376.  
  377. R3SKM_UNBINDPOINTFROMSKELETO = 133040;
  378.  
  379. function mR3SKM_UNBINDPOINTFROMSKELETO() {
  380.   DoA(this.r3obj, 133040, 0, R3TID_INTEGER, 0);
  381. }
  382.  
  383. // Description: Set fidelity of the given target point.
  384. // Returns: Boolean, true if succeeded
  385. // p1: Number, fidelity
  386. // p2: Integer, index of the target point
  387. // p3: Object, target object    
  388.  
  389. R3SKM_SETFIDELITYTOPOINT = 133041;
  390.  
  391. function mR3SKM_SETFIDELITYTOPOINT(p1, p2, p3) {
  392.   return   DoA3(this.r3obj, 133041, p1, R3TID_FLOAT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  393. }
  394.  
  395. // Description: Set fidelity to selected points attached to the selected bone.
  396. // p1: Object, target object
  397. // p3: Number, fidelity    
  398.  
  399. R3SKM_SETFIDELITYTOSELECTED = 133042;
  400.  
  401. function mR3SKM_SETFIDELITYTOSELECTED(p1, p3) {
  402.   DoA2(this.r3obj, 133042, p1, R3TID_OBJECT, 0, p3, R3TID_FLOAT, 0);
  403. }
  404.  
  405. // Description: Set weight of the given target point. The stronger the weight, the stronger the
  406. //      bone affects the point.
  407. // Returns: Boolean, true if succeeded
  408. // p1: Number, weight
  409. // p2: Integer, index of the target point
  410. // p3: Object, target object    
  411.  
  412. R3SKM_SETWEIGHTTOPOINT = 133043;
  413.  
  414. function mR3SKM_SETWEIGHTTOPOINT(p1, p2, p3) {
  415.   return   DoA3(this.r3obj, 133043, p1, R3TID_FLOAT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  416. }
  417.  
  418. // Description: Set weight to selected points attached to the selected bone.
  419. // p1: Object, target object
  420. // p3: Number, weight    
  421.  
  422. R3SKM_SETWEIGHTTOSELECTED = 133044;
  423.  
  424. function mR3SKM_SETWEIGHTTOSELECTED(p1, p3) {
  425.   DoA2(this.r3obj, 133044, p1, R3TID_OBJECT, 0, p3, R3TID_FLOAT, 0);
  426. }
  427.  
  428. // Description: Fetch fidelity of the given target point.
  429. // Returns: Boolean, true if succeeded
  430. // p1: Number, fidelity
  431. // p2: Integer, index of the target point
  432. // p3: Object, target object    
  433.  
  434. R3SKM_GETFIDELITYFROMPOINT = 133045;
  435.  
  436. function mR3SKM_GETFIDELITYFROMPOINT(p1, p2, p3) {
  437.   return   DoA3(this.r3obj, 133045, p1, R3TID_FLOAT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  438. }
  439.  
  440. // Description: Get fidelity from selected points attached to the selected bone.
  441. // Returns: Boolean, true if all points had the same fidelitu value.
  442. // p1: Object, target object
  443. // p3: Number, fidelity    
  444.  
  445. R3SKM_GETFIDELITYFROMSELECTE = 133046;
  446.  
  447. function mR3SKM_GETFIDELITYFROMSELECTE(p1, p3) {
  448.   return   DoA2(this.r3obj, 133046, p1, R3TID_OBJECT, 0, p3, R3TID_FLOAT, 0);
  449. }
  450.  
  451. // Description: Get weight of the given target point. The stronger the weight, the stronger the
  452. //      bone affects the point.
  453. // Returns: Boolean, true if succeeded
  454. // p1: Number, weight
  455. // p2: Integer, index of the target point
  456. // p3: Object, target object    
  457.  
  458. R3SKM_GETWEIGHTFROMPOINT = 133047;
  459.  
  460. function mR3SKM_GETWEIGHTFROMPOINT(p1, p2, p3) {
  461.   return   DoA3(this.r3obj, 133047, p1, R3TID_FLOAT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  462. }
  463.  
  464. // Description: Get weight of the selected points attached to the selected bone.
  465. // Returns: Boolean, true if all points had the same weight.
  466. // p1: Object, target object
  467. // p3: Number, weight    
  468.  
  469. R3SKM_GETWEIGHTFROMSELECTED = 133048;
  470.  
  471. function mR3SKM_GETWEIGHTFROMSELECTED(p1, p3) {
  472.   return   DoA2(this.r3obj, 133048, p1, R3TID_OBJECT, 0, p3, R3TID_FLOAT, 0);
  473. }
  474.  
  475. // Description: Detach all objects from this skeleton. If p3 is true, binding information    * associated with
  476. //      the target objects is not deleted.
  477. // p3: Boolean, keep target data    
  478.  
  479. R3SKM_UNBINDSKELETON = 133049;
  480.  
  481. function mR3SKM_UNBINDSKELETON(p3) {
  482.   DoA(this.r3obj, 133049, p3, R3TID_BOOLEAN, 0);
  483. }
  484.  
  485. // Description: Detach given object from the skeleton
  486. // Returns: Boolean, true if succeeded
  487. // p1: Boolean, if true unbinds sub objects as well
  488. // p3: Object, target object to be removed    
  489.  
  490. R3SKM_UNBINDOBJECTFROMSKELET = 133050;
  491.  
  492. function mR3SKM_UNBINDOBJECTFROMSKELET(p1, p3) {
  493.   return   DoA2(this.r3obj, 133050, p1, R3TID_BOOLEAN, 0, p3, R3TID_OBJECT, 0);
  494. }
  495.  
  496. // Description: Edit min constraint angles
  497.  
  498. R3SKM_TRANSLATESELECTEDMINAN = 133051;
  499.  
  500. function mR3SKM_TRANSLATESELECTEDMINAN() {
  501.   DoA(this.r3obj, 133051, 0, R3TID_INTEGER, 0);
  502. }
  503.  
  504. // Description: Edit max constraint angles
  505.  
  506. R3SKM_TRANSLATESELECTEDMAXAN = 133052;
  507.  
  508. function mR3SKM_TRANSLATESELECTEDMAXAN() {
  509.   DoA(this.r3obj, 133052, 0, R3TID_INTEGER, 0);
  510. }
  511.  
  512. // Description: Edit min constraint angle
  513. // p1: Integer, index of the joint
  514.  
  515. R3SKM_TRANSLATEMINANGLE = 133053;
  516.  
  517. function mR3SKM_TRANSLATEMINANGLE(p1) {
  518.   DoA2(this.r3obj, 133053, p1, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  519. }
  520.  
  521. // Description: Edit max constraint angle
  522. // p1: Integer, index of the bone
  523.  
  524. R3SKM_TRANSLATEMAXANGLE = 133054;
  525.  
  526. function mR3SKM_TRANSLATEMAXANGLE(p1) {
  527.   DoA2(this.r3obj, 133054, p1, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  528. }
  529.  
  530. // Description: Give the current root postion, as determined by our parent    * skeleton and our displacement
  531. //      offset.
  532. // p1: Integer, space
  533.  
  534. R3SKM_GETROOTPOS = 133055;
  535.  
  536. function mR3SKM_GETROOTPOS(p1) {
  537.   DoA2(this.r3obj, 133055, p1, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  538. }
  539.  
  540. // Description: Select target points mapped to the selected bones of the skeleton
  541. // Returns: Integer, number of points selected
  542.  
  543. R3SKM_SELECTTARGETPOINTS = 133056;
  544.  
  545. function mR3SKM_SELECTTARGETPOINTS() {
  546.   return   DoA(this.r3obj, 133056, 0, R3TID_INTEGER, 0);
  547. }
  548.  
  549. // Description: Deselect target points mapped to the selected bones of the skeleton
  550. // Returns: Integer, number of points deselected
  551.  
  552. R3SKM_DESELECTTARGETPOINTS = 133057;
  553.  
  554. function mR3SKM_DESELECTTARGETPOINTS() {
  555.   return   DoA(this.r3obj, 133057, 0, R3TID_INTEGER, 0);
  556. }
  557.  
  558. // Description: Attach given point to bones using mapping volume
  559. // Returns: Boolean, true if succeeded
  560. // p1: Object, target object
  561. // p2: Integer, point index
  562. // p3: r3Vect, target's point (in abs space) to be mapped.    
  563.  
  564. R3SKM_BINDPOINTTOSKELETONBYV = 133058;
  565.  
  566. function mR3SKM_BINDPOINTTOSKELETONBYV(p1, p2, p3) {
  567.   return   DoA3(this.r3obj, 133058, p1, R3TID_OBJECT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_VECTOR, 0);
  568. }
  569.  
  570. // Description: When skeleton is bound for the first time, native pose is allocated and created.    *
  571. //      When skeleton is modified, the deformation is computed as nativepose -> currentpose. This method discards
  572. //      the native pose data. Called when the skeleton is unbind.
  573.  
  574. R3SKM_DISPOSENATIVESTATE = 133059;
  575.  
  576. function mR3SKM_DISPOSENATIVESTATE() {
  577.   DoA(this.r3obj, 133059, 0, R3TID_INTEGER, 0);
  578. }
  579.  
  580. // Description: Bind selected handles to nearest bones.
  581. // Virtual method
  582.  
  583. R3SKM_BINDSELECTEDTONEAREST = 133060;
  584.  
  585. function mR3SKM_BINDSELECTEDTONEAREST() {
  586.   DoA(this.r3obj, 133060, 0, R3TID_INTEGER, 0);
  587. }
  588.  
  589. // Description: Binding system uses normalized parametrization to specify points position on the skeleton so that
  590. //      deleting joints etc. can be easily handled. This method converts given bone parameter (0 ...1)
  591. //      to joint index.
  592. // p1: Number, parameter value 0 ... 1
  593. // p3: Integer, joint index.    
  594.  
  595. R3SKM_BONEPARAMTOINDEX = 133061;
  596.  
  597. function mR3SKM_BONEPARAMTOINDEX(p1, p3) {
  598.   DoA2(this.r3obj, 133061, p1, R3TID_FLOAT, 0, p3, R3TID_INTEGER, 0);
  599. }
  600.  
  601. // Description: Binding system uses normalized parametrization to specify points position on the skeleton so that
  602. //      deleting joints etc. can be easily handled. This method converts given joint index to normalized
  603. //      parameter value.
  604. // p1: Integer, joint index 0 ... count-1
  605. // p3: Number, parameter value    
  606.  
  607. R3SKM_BONEINDEXTOPARAM = 133062;
  608.  
  609. function mR3SKM_BONEINDEXTOPARAM(p1, p3) {
  610.   DoA2(this.r3obj, 133062, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  611. }
  612.  
  613. // Description: Given a point, find nearest skeleton and bone param in a hierarchical skeleton.
  614. // Returns: Object, nearest skeleton
  615. // p1: Number, minimum distance, initialize this to max value prior calling.
  616. // p2: Number, parameter specifying the bone
  617. // p3: r3Vect, point    
  618.  
  619. R3SKM_FINDNEARESTSELECTEDBON = 133063;
  620.  
  621. function mR3SKM_FINDNEARESTSELECTEDBON(p1, p2, p3) {
  622.   return R3ToJS(  DoA3(this.r3obj, 133063, p1, R3TID_FLOAT, 0, p2, R3TID_FLOAT, 0, p3, R3TID_VECTOR, 0));
  623. }
  624.  
  625. // Virtual method
  626.  
  627. R3SKM_private2 = 133064;
  628.  
  629. function mR3SKM_private2() {
  630.   DoA(this.r3obj, 133064, 0, R3TID_INTEGER, 0);
  631. }
  632.  
  633. // Description: Find out the initial bone orientation.
  634. // Returns: Boolean, TRUE if initial orientation was found. FALSE if undefined
  635. // p1: Integer, bone index
  636. // p3: r3Coordsys, coordinate system    
  637.  
  638. R3SKM_GETORIGBONE = 133065;
  639.  
  640. function mR3SKM_GETORIGBONE(p1, p3) {
  641.   return   DoA2(this.r3obj, 133065, p1, R3TID_INTEGER, 0, p3, R3TID_COORDSYS, 0);
  642. }
  643.  
  644. // Description: Set initial bone orientation. The transformation defined by    * the bone is computed as 'current
  645. //      orientation - initial orientation'.
  646. // Returns: Boolean, true if succeeded
  647. // p1: Integer, index of the bone
  648.  
  649. R3SKM_SETORIGBONE = 133066;
  650.  
  651. function mR3SKM_SETORIGBONE(p1) {
  652.   return   DoA2(this.r3obj, 133066, p1, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  653. }
  654.  
  655. // Description: Given binding index, fetch the unique identifier specifying target objects bound    * to this skeleton.
  656. // Returns: Integer, binding identifier
  657. // p3: Integer, index (0 ... R3SKA_MapCount-1)    
  658.  
  659. R3SKM_GETBINDINGID = 133067;
  660.  
  661. function mR3SKM_GETBINDINGID(p3) {
  662.   return   DoA(this.r3obj, 133067, p3, R3TID_INTEGER, 0);
  663. }
  664.  
  665. // Description: Bind all target points in the given target object to the nearest bones.
  666. // Returns: Integer, number of points bound
  667. // p1: Boolean, if true binds sub objects as well
  668. // p3: Object, target to be bound    
  669.  
  670. R3SKM_BINDOBJECTTOSKELETON = 133068;
  671.  
  672. function mR3SKM_BINDOBJECTTOSKELETON(p1, p3) {
  673.   return   DoA2(this.r3obj, 133068, p1, R3TID_BOOLEAN, 0, p3, R3TID_OBJECT, 0);
  674. }
  675.  
  676.  
  677.  
  678.  
  679. R3SKA_Joints = 133501;
  680. function SetR3SKA_Joints(value) {
  681.   R3Set(this.r3obj, R3SKA_Joints, value, R3TID_OBJECT, 0); 
  682. }
  683.  
  684. function GetR3SKA_Joints() {
  685.   return R3ToJS(R3Get(this.r3obj, R3SKA_Joints, R3TID_OBJECT, 0)); 
  686. }
  687.  
  688. R3SKA_JointCount = 133502;
  689. function GetR3SKA_JointCount() {
  690.   return R3Get(this.r3obj, R3SKA_JointCount, R3TID_INTEGER, 0); 
  691. }
  692.  
  693. R3SKA_CurrentMap = 133503;
  694. function SetR3SKA_CurrentMap(value) {
  695.   R3Set(this.r3obj, R3SKA_CurrentMap, value, R3TID_INTEGER, 0); 
  696. }
  697.  
  698. function GetR3SKA_CurrentMap() {
  699.   return R3Get(this.r3obj, R3SKA_CurrentMap, R3TID_INTEGER, 0); 
  700. }
  701.  
  702. R3SKA_Type = 133504;
  703. function SetR3SKA_Type(value) {
  704.   R3Set(this.r3obj, R3SKA_Type, value, R3TID_INTEGER, 0); 
  705. }
  706.  
  707. function GetR3SKA_Type() {
  708.   return R3Get(this.r3obj, R3SKA_Type, R3TID_INTEGER, 0); 
  709. }
  710.  
  711. R3SKA_ParentIndex = 133505;
  712. function SetR3SKA_ParentIndex(value) {
  713.   R3Set(this.r3obj, R3SKA_ParentIndex, value, R3TID_INTEGER, 0); 
  714. }
  715.  
  716. function GetR3SKA_ParentIndex() {
  717.   return R3Get(this.r3obj, R3SKA_ParentIndex, R3TID_INTEGER, 0); 
  718. }
  719.  
  720. R3SKA_ParentOffset = 133506;
  721. function SetR3SKA_ParentOffset(value) {
  722.   R3Set(this.r3obj, R3SKA_ParentOffset, value, R3TID_VECTOR, 0); 
  723. }
  724.  
  725. function GetR3SKA_ParentOffset() {
  726.   return R3Get(this.r3obj, R3SKA_ParentOffset, R3TID_VECTOR, 0); 
  727. }
  728.  
  729. R3SKA_AxisCA = 133514;
  730. function SetR3SKA_AxisCA(value) {
  731.   R3Set(this.r3obj, R3SKA_AxisCA, value, R3TID_VECTOR, 0); 
  732. }
  733.  
  734. function GetR3SKA_AxisCA() {
  735.   return R3Get(this.r3obj, R3SKA_AxisCA, R3TID_VECTOR, 0); 
  736. }
  737.  
  738. R3SKA_AxisCB = 133515;
  739. function SetR3SKA_AxisCB(value) {
  740.   R3Set(this.r3obj, R3SKA_AxisCB, value, R3TID_VECTOR, 0); 
  741. }
  742.  
  743. function GetR3SKA_AxisCB() {
  744.   return R3Get(this.r3obj, R3SKA_AxisCB, R3TID_VECTOR, 0); 
  745. }
  746.  
  747. R3SKA_AxisCC = 133516;
  748. function SetR3SKA_AxisCC(value) {
  749.   R3Set(this.r3obj, R3SKA_AxisCC, value, R3TID_VECTOR, 0); 
  750. }
  751.  
  752. function GetR3SKA_AxisCC() {
  753.   return R3Get(this.r3obj, R3SKA_AxisCC, R3TID_VECTOR, 0); 
  754. }
  755.  
  756. R3SKA_Position0 = 133517;
  757. function SetR3SKA_Position0(value) {
  758.   R3Set(this.r3obj, R3SKA_Position0, value, R3TID_VECTOR, 0); 
  759. }
  760.  
  761. function GetR3SKA_Position0() {
  762.   return R3Get(this.r3obj, R3SKA_Position0, R3TID_VECTOR, 0); 
  763. }
  764.  
  765. R3SKA_AngleA = 133518;
  766. function SetR3SKA_AngleA(index, value) {
  767.   R3SetIndexed(this.r3obj, R3SKA_AngleA, index, value, R3TID_FLOAT, 0); 
  768. }
  769.  
  770. function GetR3SKA_AngleA(index) {
  771.   return R3GetIndexed(this.r3obj, R3SKA_AngleA, index, R3TID_FLOAT, 0); 
  772. }
  773.  
  774. R3SKA_IKPosition = 133519;
  775. function SetR3SKA_IKPosition(index, value) {
  776.   R3SetIndexed(this.r3obj, R3SKA_IKPosition, index, value, R3TID_VECTOR, 0); 
  777. }
  778.  
  779. function GetR3SKA_IKPosition(index) {
  780.   return R3GetIndexed(this.r3obj, R3SKA_IKPosition, index, R3TID_VECTOR, 0); 
  781. }
  782.  
  783. R3SKA_IKSampling = 133522;
  784. function SetR3SKA_IKSampling(value) {
  785.   R3Set(this.r3obj, R3SKA_IKSampling, value, R3TID_INTEGER, 0); 
  786. }
  787.  
  788. function GetR3SKA_IKSampling() {
  789.   return R3Get(this.r3obj, R3SKA_IKSampling, R3TID_INTEGER, 0); 
  790. }
  791.  
  792. R3SKA_IKDepth = 133523;
  793. function SetR3SKA_IKDepth(value) {
  794.   R3Set(this.r3obj, R3SKA_IKDepth, value, R3TID_INTEGER, 0); 
  795. }
  796.  
  797. function GetR3SKA_IKDepth() {
  798.   return R3Get(this.r3obj, R3SKA_IKDepth, R3TID_INTEGER, 0); 
  799. }
  800.  
  801. R3SKA_PreferredAnimMth = 133524;
  802. function SetR3SKA_PreferredAnimMth(value) {
  803.   R3Set(this.r3obj, R3SKA_PreferredAnimMth, value, R3TID_INTEGER, 0); 
  804. }
  805.  
  806. function GetR3SKA_PreferredAnimMth() {
  807.   return R3Get(this.r3obj, R3SKA_PreferredAnimMth, R3TID_INTEGER, 0); 
  808. }
  809.  
  810. R3SKA_AngleB = 133525;
  811. function SetR3SKA_AngleB(index, value) {
  812.   R3SetIndexed(this.r3obj, R3SKA_AngleB, index, value, R3TID_FLOAT, 0); 
  813. }
  814.  
  815. function GetR3SKA_AngleB(index) {
  816.   return R3GetIndexed(this.r3obj, R3SKA_AngleB, index, R3TID_FLOAT, 0); 
  817. }
  818.  
  819. R3SKA_AngleC = 133526;
  820. function SetR3SKA_AngleC(index, value) {
  821.   R3SetIndexed(this.r3obj, R3SKA_AngleC, index, value, R3TID_FLOAT, 0); 
  822. }
  823.  
  824. function GetR3SKA_AngleC(index) {
  825.   return R3GetIndexed(this.r3obj, R3SKA_AngleC, index, R3TID_FLOAT, 0); 
  826. }
  827.  
  828. R3SKA_Angle = 133527;
  829. function SetR3SKA_Angle(index, value) {
  830.   R3SetIndexed(this.r3obj, R3SKA_Angle, index, value, R3TID_VECTOR, 0); 
  831. }
  832.  
  833. function GetR3SKA_Angle(index) {
  834.   return R3GetIndexed(this.r3obj, R3SKA_Angle, index, R3TID_VECTOR, 0); 
  835. }
  836.  
  837. R3SKA_Length = 133528;
  838. function SetR3SKA_Length(index, value) {
  839.   R3SetIndexed(this.r3obj, R3SKA_Length, index, value, R3TID_FLOAT, 0); 
  840. }
  841.  
  842. function GetR3SKA_Length(index) {
  843.   return R3GetIndexed(this.r3obj, R3SKA_Length, index, R3TID_FLOAT, 0); 
  844. }
  845.  
  846. R3SKA_UseMapVolume = 133529;
  847. function SetR3SKA_UseMapVolume(value) {
  848.   R3Set(this.r3obj, R3SKA_UseMapVolume, value, R3TID_INTEGER, 0); 
  849. }
  850.  
  851. function GetR3SKA_UseMapVolume() {
  852.   return R3Get(this.r3obj, R3SKA_UseMapVolume, R3TID_INTEGER, 0); 
  853. }
  854.  
  855. R3SKA_MapRadius = 133530;
  856. function SetR3SKA_MapRadius(value) {
  857.   R3Set(this.r3obj, R3SKA_MapRadius, value, R3TID_FLOAT, 0); 
  858. }
  859.  
  860. function GetR3SKA_MapRadius() {
  861.   return R3Get(this.r3obj, R3SKA_MapRadius, R3TID_FLOAT, 0); 
  862. }
  863.  
  864. R3SKA_Anchor = 133531;
  865. function SetR3SKA_Anchor(index, value) {
  866.   R3SetIndexed(this.r3obj, R3SKA_Anchor, index, value, R3TID_INTEGER, 0); 
  867. }
  868.  
  869. function GetR3SKA_Anchor(index) {
  870.   return R3GetIndexed(this.r3obj, R3SKA_Anchor, index, R3TID_INTEGER, 0); 
  871. }
  872.  
  873. R3SKA_DrawConstraints = 133532;
  874. function SetR3SKA_DrawConstraints(value) {
  875.   R3Set(this.r3obj, R3SKA_DrawConstraints, value, R3TID_BOOLEAN, 0); 
  876. }
  877.  
  878. function GetR3SKA_DrawConstraints() {
  879.   return R3Get(this.r3obj, R3SKA_DrawConstraints, R3TID_BOOLEAN, 0); 
  880. }
  881.  
  882. var R3SKA_BoneIndexes = 133533; // Number
  883. R3SKA_RotationHandles = 133534;
  884. function SetR3SKA_RotationHandles(value) {
  885.   R3Set(this.r3obj, R3SKA_RotationHandles, value, R3TID_BOOLEAN, 0); 
  886. }
  887.  
  888. function GetR3SKA_RotationHandles() {
  889.   return R3Get(this.r3obj, R3SKA_RotationHandles, R3TID_BOOLEAN, 0); 
  890. }
  891.  
  892. var R3SKA_JointParam = 133535; // Number[]
  893. var R3SKA_TargetIndex = 133536; // Integer
  894. var R3SKA_TargetObject = 133537; // Object
  895. var R3SKA_MapId = 133538; // Integer
  896. var R3SKA_Fidelity = 133539; // Number[]
  897. var R3SKA_Weight = 133540; // Number[]
  898. R3SKA_MapCount = 133541;
  899. function GetR3SKA_MapCount() {
  900.   return R3Get(this.r3obj, R3SKA_MapCount, R3TID_INTEGER, 0); 
  901. }
  902.  
  903. R3SKA_Interpolation = 133542;
  904. function SetR3SKA_Interpolation(value) {
  905.   R3Set(this.r3obj, R3SKA_Interpolation, value, R3TID_INTEGER, 0); 
  906. }
  907.  
  908. function GetR3SKA_Interpolation() {
  909.   return R3Get(this.r3obj, R3SKA_Interpolation, R3TID_INTEGER, 0); 
  910. }
  911.  
  912. R3SKA_AngleSystem = 133543;
  913. function SetR3SKA_AngleSystem(value) {
  914.   R3Set(this.r3obj, R3SKA_AngleSystem, value, R3TID_INTEGER, 0); 
  915. }
  916.  
  917. function GetR3SKA_AngleSystem() {
  918.   return R3Get(this.r3obj, R3SKA_AngleSystem, R3TID_INTEGER, 0); 
  919. }
  920.  
  921. R3SKA_MinAngle = 133544;
  922. function SetR3SKA_MinAngle(index, value) {
  923.   R3SetIndexed(this.r3obj, R3SKA_MinAngle, index, value, R3TID_VECTOR, 0); 
  924. }
  925.  
  926. function GetR3SKA_MinAngle(index) {
  927.   return R3GetIndexed(this.r3obj, R3SKA_MinAngle, index, R3TID_VECTOR, 0); 
  928. }
  929.  
  930. R3SKA_MaxAngle = 133545;
  931. function SetR3SKA_MaxAngle(index, value) {
  932.   R3SetIndexed(this.r3obj, R3SKA_MaxAngle, index, value, R3TID_VECTOR, 0); 
  933. }
  934.  
  935. function GetR3SKA_MaxAngle(index) {
  936.   return R3GetIndexed(this.r3obj, R3SKA_MaxAngle, index, R3TID_VECTOR, 0); 
  937. }
  938.  
  939. var R3SKA_IKSpace = 133546; // Boolean
  940. R3SKA_Thickness = 133547;
  941. function SetR3SKA_Thickness(index, value) {
  942.   R3SetIndexed(this.r3obj, R3SKA_Thickness, index, value, R3TID_FLOAT, 0); 
  943. }
  944.  
  945. function GetR3SKA_Thickness(index) {
  946.   return R3GetIndexed(this.r3obj, R3SKA_Thickness, index, R3TID_FLOAT, 0); 
  947. }
  948.  
  949. R3SKA_JointPosition = 133548;
  950. function SetR3SKA_JointPosition(index, value) {
  951.   R3SetIndexed(this.r3obj, R3SKA_JointPosition, index, value, R3TID_VECTOR, 0); 
  952. }
  953.  
  954. function GetR3SKA_JointPosition(index) {
  955.   return R3GetIndexed(this.r3obj, R3SKA_JointPosition, index, R3TID_VECTOR, 0); 
  956. }
  957.  
  958. R3SKA_AttachOrientation = 133549;
  959. function SetR3SKA_AttachOrientation(value) {
  960.   R3Set(this.r3obj, R3SKA_AttachOrientation, value, R3TID_BOOLEAN, 0); 
  961. }
  962.  
  963. function GetR3SKA_AttachOrientation() {
  964.   return R3Get(this.r3obj, R3SKA_AttachOrientation, R3TID_BOOLEAN, 0); 
  965. }
  966.  
  967. var R3SKA_IKNoChange = 133550; // Boolean
  968. R3SKA_AnimRootPos = 133551;
  969. function SetR3SKA_AnimRootPos(value) {
  970.   R3Set(this.r3obj, R3SKA_AnimRootPos, value, R3TID_BOOLEAN, 0); 
  971. }
  972.  
  973. function GetR3SKA_AnimRootPos() {
  974.   return R3Get(this.r3obj, R3SKA_AnimRootPos, R3TID_BOOLEAN, 0); 
  975. }
  976.  
  977. R3SKA_DrawAngles = 133552;
  978. function SetR3SKA_DrawAngles(value) {
  979.   R3Set(this.r3obj, R3SKA_DrawAngles, value, R3TID_BOOLEAN, 0); 
  980. }
  981.  
  982. function GetR3SKA_DrawAngles() {
  983.   return R3Get(this.r3obj, R3SKA_DrawAngles, R3TID_BOOLEAN, 0); 
  984. }
  985.  
  986. R3SKA_TargetId = 1224870568;
  987. function SetR3SKA_TargetId(value) {
  988.   R3Set(this.r3obj, R3SKA_TargetId, value, R3TID_INTEGER, 0); 
  989. }
  990.  
  991. function GetR3SKA_TargetId() {
  992.   return R3Get(this.r3obj, R3SKA_TargetId, R3TID_INTEGER, 0); 
  993. }
  994.  
  995. var R3SKA_FIRSTDYNATTR = 133800;
  996. var R3SK_JOINTNAMELEN = 16;
  997. var R3SK_NOINDEX = -1;
  998. var R3IKM_BOTH = 0;
  999. var R3IKM_PARENT = 1;
  1000. var R3IKM_TAIL = 2;
  1001. var R3IKM_NONE = 3;
  1002. var R3JOINTF_ANCHOR = 1;
  1003. var R3JOINTF_RIGID = 2;
  1004. var R3JOINTF_IK = 4;
  1005. var R3JOINTF_ANGLE = 8;
  1006. var R3JOINTF_NOHEADIK = 16;
  1007. var R3JOINTF_NOTAILIK = 32;
  1008. var R3JOINTF_POSCHANGED = 64;
  1009. var R3JOINTF_LENCHANGED = 128;
  1010. var R3JOINTF_ANGLECHANGED = 256;
  1011. var R3SKHT_JOINT = 0;
  1012. var R3SKHT_TORSION = 1;
  1013. var R3SKHT_MINA = 2;
  1014. var R3SKHT_MAXA = 3;
  1015. var R3SKHT_MINB = 4;
  1016. var R3SKHT_MAXB = 5;
  1017. var R3SKHT_BONE = 6;
  1018. var R3SKT_INVERSEKINEMATICS = 0;
  1019. var R3SKT_FORWARDKINEMATICS = 1;
  1020. var R3SKT_MOVE = 2;
  1021. var R3SKT_TELESCOPE = 3;
  1022. var R3SKT_NATIVE = 4;
  1023. var R3SKT_IKHEAD = 5;
  1024. var R3SKT_IKTAIL = 6;
  1025. var R3SKI_ANGLE = 0;
  1026. var R3SKI_QUATERNION = 1;
  1027. var R3SKS_HPT = 0;
  1028. var R3SKS_HPB = 1;
  1029. var R3ANIMMTH_ANGLES = 0;
  1030. var R3ANIMMTH_POSITION = 1;
  1031. var R3ANIMMTH_NONE = 2;
  1032. var R3MAXIKDEPTH = 61439;
  1033.  
  1034.  
  1035. function r3Skeleton () { 
  1036.    this.base = r3God;
  1037.    if(arguments.length) {
  1038.       this.base(R3CLID_SKELETON, arguments);
  1039.    }
  1040.    // Methods
  1041.    this.GETJOINT=mR3SKM_GETJOINT;
  1042.    this.SETJOINT=mR3SKM_SETJOINT;
  1043.    this.FINDNEARESTJOINT=mR3SKM_FINDNEARESTJOINT;
  1044.    this.GETBONESPACE=mR3SKM_GETBONESPACE;
  1045.    this.EVALJOINTSPACE=mR3SKM_EVALJOINTSPACE;
  1046.    this.ATTACHTOPARENT=mR3SKM_ATTACHTOPARENT;
  1047.    this.ANCHORJOINT=mR3SKM_ANCHORJOINT;
  1048.    this.RIGIDJOINT=mR3SKM_RIGIDJOINT;
  1049.    this.RESETJOINT=mR3SKM_RESETJOINT;
  1050.    this.ANIMJOINTASANGLE=mR3SKM_ANIMJOINTASANGLE;
  1051.    this.GETJOINTFLAG=mR3SKM_GETJOINTFLAG;
  1052.    this.ISJOINTSSELECTED=mR3SKM_ISJOINTSSELECTED;
  1053.    this.SETJOINTFLAG=mR3SKM_SETJOINTFLAG;
  1054.    this.SETSELECTEDJOINTATTR=mR3SKM_SETSELECTEDJOINTATTR;
  1055.    this.UPDATEPARENTDISPLACEME=mR3SKM_UPDATEPARENTDISPLACEME;
  1056.    this.RESETCONSTRAINTS=mR3SKM_RESETCONSTRAINTS;
  1057.    this.SETJOINTFLAGBYINDEX=mR3SKM_SETJOINTFLAGBYINDEX;
  1058.    this.REGISTERTAGNAMES=mR3SKCM_REGISTERTAGNAMES;
  1059.    this.REGISTERINDEXEDTAGNAM=mR3SKCM_REGISTERINDEXEDTAGNAM;
  1060.    this.ISSELECTED=mR3SKM_ISSELECTED;
  1061.    this.TRANSLATEMAPRAD=mR3SKM_TRANSLATEMAPRAD;
  1062.    this.DUPMIRCHILDS=mR3SKM_DUPMIRCHILDS;
  1063.    this.TRANSLATESELECTEDANGLE=mR3SKM_TRANSLATESELECTEDANGLE;
  1064.    this.BINDSKELETONBYVOLUME=mR3SKM_BINDSKELETONBYVOLUME;
  1065.    this.BINDSKELETONNEAREST=mR3SKM_BINDSKELETONNEAREST;
  1066.    this.BINDPOINTTONEARESTSKEL=mR3SKM_BINDPOINTTONEARESTSKEL;
  1067.    this.TRANSLATEANGLES=mR3SKM_TRANSLATEANGLES;
  1068.    this.FINDNEARESTBONE=mR3SKM_FINDNEARESTBONE;
  1069.    this.BINDPOINTTOJOINT=mR3SKM_BINDPOINTTOJOINT;
  1070.    this.RECONSTRUCTBYROOT=mR3SKM_RECONSTRUCTBYROOT;
  1071.    this.GETPREVBONESPACE=mR3SKM_GETPREVBONESPACE;
  1072.    this.ROTATESELECTEDBONES=mR3SKM_ROTATESELECTEDBONES;
  1073.    this.UPDATEANGLES=mR3SKM_UPDATEANGLES;
  1074.    this.UPDATEPOSITIONS=mR3SKM_UPDATEPOSITIONS;
  1075.    this.BINDSELECTED=mR3SKM_BINDSELECTED;
  1076.    this.UNBINDPOINTFROMJOINT=mR3SKM_UNBINDPOINTFROMJOINT;
  1077.    this.UNBINDSELECTED=mR3SKM_UNBINDSELECTED;
  1078.    this.UNBINDPOINTFROMSKELETO=mR3SKM_UNBINDPOINTFROMSKELETO;
  1079.    this.SETFIDELITYTOPOINT=mR3SKM_SETFIDELITYTOPOINT;
  1080.    this.SETFIDELITYTOSELECTED=mR3SKM_SETFIDELITYTOSELECTED;
  1081.    this.SETWEIGHTTOPOINT=mR3SKM_SETWEIGHTTOPOINT;
  1082.    this.SETWEIGHTTOSELECTED=mR3SKM_SETWEIGHTTOSELECTED;
  1083.    this.GETFIDELITYFROMPOINT=mR3SKM_GETFIDELITYFROMPOINT;
  1084.    this.GETFIDELITYFROMSELECTE=mR3SKM_GETFIDELITYFROMSELECTE;
  1085.    this.GETWEIGHTFROMPOINT=mR3SKM_GETWEIGHTFROMPOINT;
  1086.    this.GETWEIGHTFROMSELECTED=mR3SKM_GETWEIGHTFROMSELECTED;
  1087.    this.UNBINDSKELETON=mR3SKM_UNBINDSKELETON;
  1088.    this.UNBINDOBJECTFROMSKELET=mR3SKM_UNBINDOBJECTFROMSKELET;
  1089.    this.TRANSLATESELECTEDMINAN=mR3SKM_TRANSLATESELECTEDMINAN;
  1090.    this.TRANSLATESELECTEDMAXAN=mR3SKM_TRANSLATESELECTEDMAXAN;
  1091.    this.TRANSLATEMINANGLE=mR3SKM_TRANSLATEMINANGLE;
  1092.    this.TRANSLATEMAXANGLE=mR3SKM_TRANSLATEMAXANGLE;
  1093.    this.GETROOTPOS=mR3SKM_GETROOTPOS;
  1094.    this.SELECTTARGETPOINTS=mR3SKM_SELECTTARGETPOINTS;
  1095.    this.DESELECTTARGETPOINTS=mR3SKM_DESELECTTARGETPOINTS;
  1096.    this.BINDPOINTTOSKELETONBYV=mR3SKM_BINDPOINTTOSKELETONBYV;
  1097.    this.DISPOSENATIVESTATE=mR3SKM_DISPOSENATIVESTATE;
  1098.    this.BINDSELECTEDTONEAREST=mR3SKM_BINDSELECTEDTONEAREST;
  1099.    this.BONEPARAMTOINDEX=mR3SKM_BONEPARAMTOINDEX;
  1100.    this.BONEINDEXTOPARAM=mR3SKM_BONEINDEXTOPARAM;
  1101.    this.FINDNEARESTSELECTEDBON=mR3SKM_FINDNEARESTSELECTEDBON;
  1102.    this.private2=mR3SKM_private2;
  1103.    this.GETORIGBONE=mR3SKM_GETORIGBONE;
  1104.    this.SETORIGBONE=mR3SKM_SETORIGBONE;
  1105.    this.GETBINDINGID=mR3SKM_GETBINDINGID;
  1106.    this.BINDOBJECTTOSKELETON=mR3SKM_BINDOBJECTTOSKELETON;
  1107.  
  1108.    // Attributes
  1109.    this.GetJoints=GetR3SKA_Joints;
  1110.    this.SetJoints=SetR3SKA_Joints;
  1111.    this.GetJointCount=GetR3SKA_JointCount;
  1112.    this.GetCurrentMap=GetR3SKA_CurrentMap;
  1113.    this.SetCurrentMap=SetR3SKA_CurrentMap;
  1114.    this.GetType=GetR3SKA_Type;
  1115.    this.SetType=SetR3SKA_Type;
  1116.    this.GetParentIndex=GetR3SKA_ParentIndex;
  1117.    this.SetParentIndex=SetR3SKA_ParentIndex;
  1118.    this.GetParentOffset=GetR3SKA_ParentOffset;
  1119.    this.SetParentOffset=SetR3SKA_ParentOffset;
  1120.    this.GetAxisCA=GetR3SKA_AxisCA;
  1121.    this.SetAxisCA=SetR3SKA_AxisCA;
  1122.    this.GetAxisCB=GetR3SKA_AxisCB;
  1123.    this.SetAxisCB=SetR3SKA_AxisCB;
  1124.    this.GetAxisCC=GetR3SKA_AxisCC;
  1125.    this.SetAxisCC=SetR3SKA_AxisCC;
  1126.    this.GetPosition0=GetR3SKA_Position0;
  1127.    this.SetPosition0=SetR3SKA_Position0;
  1128.    this.GetAngleA=GetR3SKA_AngleA;
  1129.    this.SetAngleA=SetR3SKA_AngleA;
  1130.    this.GetIKPosition=GetR3SKA_IKPosition;
  1131.    this.SetIKPosition=SetR3SKA_IKPosition;
  1132.    this.GetIKSampling=GetR3SKA_IKSampling;
  1133.    this.SetIKSampling=SetR3SKA_IKSampling;
  1134.    this.GetIKDepth=GetR3SKA_IKDepth;
  1135.    this.SetIKDepth=SetR3SKA_IKDepth;
  1136.    this.GetPreferredAnimMth=GetR3SKA_PreferredAnimMth;
  1137.    this.SetPreferredAnimMth=SetR3SKA_PreferredAnimMth;
  1138.    this.GetAngleB=GetR3SKA_AngleB;
  1139.    this.SetAngleB=SetR3SKA_AngleB;
  1140.    this.GetAngleC=GetR3SKA_AngleC;
  1141.    this.SetAngleC=SetR3SKA_AngleC;
  1142.    this.GetAngle=GetR3SKA_Angle;
  1143.    this.SetAngle=SetR3SKA_Angle;
  1144.    this.GetLength=GetR3SKA_Length;
  1145.    this.SetLength=SetR3SKA_Length;
  1146.    this.GetUseMapVolume=GetR3SKA_UseMapVolume;
  1147.    this.SetUseMapVolume=SetR3SKA_UseMapVolume;
  1148.    this.GetMapRadius=GetR3SKA_MapRadius;
  1149.    this.SetMapRadius=SetR3SKA_MapRadius;
  1150.    this.GetAnchor=GetR3SKA_Anchor;
  1151.    this.SetAnchor=SetR3SKA_Anchor;
  1152.    this.GetDrawConstraints=GetR3SKA_DrawConstraints;
  1153.    this.SetDrawConstraints=SetR3SKA_DrawConstraints;
  1154.    this.GetRotationHandles=GetR3SKA_RotationHandles;
  1155.    this.SetRotationHandles=SetR3SKA_RotationHandles;
  1156.    this.GetMapCount=GetR3SKA_MapCount;
  1157.    this.GetInterpolation=GetR3SKA_Interpolation;
  1158.    this.SetInterpolation=SetR3SKA_Interpolation;
  1159.    this.GetAngleSystem=GetR3SKA_AngleSystem;
  1160.    this.SetAngleSystem=SetR3SKA_AngleSystem;
  1161.    this.GetMinAngle=GetR3SKA_MinAngle;
  1162.    this.SetMinAngle=SetR3SKA_MinAngle;
  1163.    this.GetMaxAngle=GetR3SKA_MaxAngle;
  1164.    this.SetMaxAngle=SetR3SKA_MaxAngle;
  1165.    this.GetThickness=GetR3SKA_Thickness;
  1166.    this.SetThickness=SetR3SKA_Thickness;
  1167.    this.GetJointPosition=GetR3SKA_JointPosition;
  1168.    this.SetJointPosition=SetR3SKA_JointPosition;
  1169.    this.GetAttachOrientation=GetR3SKA_AttachOrientation;
  1170.    this.SetAttachOrientation=SetR3SKA_AttachOrientation;
  1171.    this.GetAnimRootPos=GetR3SKA_AnimRootPos;
  1172.    this.SetAnimRootPos=SetR3SKA_AnimRootPos;
  1173.    this.GetDrawAngles=GetR3SKA_DrawAngles;
  1174.    this.SetDrawAngles=SetR3SKA_DrawAngles;
  1175.    this.GetTargetId=GetR3SKA_TargetId;
  1176.    this.SetTargetId=SetR3SKA_TargetId;
  1177. }
  1178.  
  1179. r3Skeleton.prototype=new r3Constructor;
  1180. // r3skel.h_H